home *** CD-ROM | disk | FTP | other *** search
- % ***** LTUGBOT.STY ***** 6 Feb 88
- % last revised 1 Mar 89
- %
- % Hacks to pieces of article.sty to support a rudimentary
- % pseudo-TUGboat format.
- %
- % Incorporates ideas and elements from these TUGboat authors:
- % Adrian Clark
-
-
- % need some more fonts that aren't activated in lfonts
- \font\sevbf=cmbx7
-
- % redo definition of 8pt from latex (lfonts), to install amcsc8 instead
- % of de-magnified amcsc10
- %\catcode`\@=11
- \def\viiipt{\textfont\z@\egtrm
- \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
- \textfont\@ne\egtmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
- \textfont\tw@\egtsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
- \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
- \def\prm{\fam\z@\egtrm}%
- \def\unboldmath{\everymath{}\everydisplay{}\@nomath
- \unboldmath\@boldfalse}\@boldfalse
- \def\boldmath{\@subfont\boldmath\unboldmath}%
- \def\pit{\fam\itfam\egtit}\textfont\itfam\egtit
- \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit
- \def\psl{\@getfont\psl\slfam\@viiipt{cmsl8}}%
- \def\pbf{\@getfont\pbf\bffam\@viiipt{cmbx8}}%
- \def\ptt{\@getfont\ptt\ttfam\@viiipt{cmtt8}}%
- \def\psf{\@getfont\psf\sffam\@viiipt{\@mss\@ptscale8}}%
- \def\psc{\@getfont\psc\scfam\@viiipt{amcsc8}}%
- \def\ly{\fam\lyfam\egtly}\textfont\lyfam\egtly
- \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly
- \@setstrut \rm}
-
- % redo definition of 10pt, to install \sevenbf as \*scriptfont for \bffam
- \def\xpt{\textfont\z@\tenrm
- \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm
- \textfont\@ne\tenmi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi
- \textfont\tw@\tensy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy
- \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
- \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
- \textfont\@ne\tenmi
- \textfont\tw@\tensy \textfont\lyfam\tenly
- \@boldfalse}\@boldfalse
- \def\boldmath{\@ifundefined{tenmib}{\global\font\tenmib\@mbi
- \global\font\tensyb\@mbsy
- \global\font\tenlyb\@lasyb\relax\@addfontinfo\@xpt
- {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold
- \textfont\@ne\tenmib \textfont\tw@\tensyb
- \textfont\lyfam\tenlyb \@prtct\@boldtrue}}}{}\@xpt\boldmath}%
- \def\prm{\fam\z@\tenrm}%
- \def\pit{\fam\itfam\tenit}\textfont\itfam\tenit \scriptfont\itfam\sevit
- \scriptscriptfont\itfam\sevit
- \def\psl{\fam\slfam\tensl}\textfont\slfam\tensl
- \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
- \def\pbf{\fam\bffam\tenbf}\textfont\bffam\tenbf
- \scriptfont\bffam\sevbf \scriptscriptfont\bffam\sevbf
- \def\ptt{\fam\ttfam\tentt}\textfont\ttfam\tentt
- \scriptfont\ttfam\tentt \scriptscriptfont\ttfam\tentt
- \def\psf{\fam\sffam\tensf}\textfont\sffam\tensf
- \scriptfont\sffam\tensf \scriptscriptfont\sffam\tensf
- \def\psc{\@getfont\psc\scfam\@xpt{\@mcsc}}%
- \def\ly{\fam\lyfam\tenly}\textfont\lyfam\tenly
- \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly
- \@setstrut \rm}
-
- %\catcode`\@=12
-
-
- % normal TUGboat dimensions
-
- \@twosidetrue % for odd/even asymmetry in running heads
- \twocolumn % two columns
- \sloppy % make those columns justify
- %\flushbottom % but ensure they line up
- \columnsep 1.5pc % space between columns
- \columnwidth 18.75pc % width of each column
- \parindent 20pt % paragraph indent
- \parskip 0pt % no inter-paragraph space
- \leftmargini 2em % unchanged
- \leftmarginv .5em % unchanged
- \leftmarginvi .5em % unchanged
- \oddsidemargin 0pt % was 42pt
- \evensidemargin 0pt % was 84pt
- \topmargin -2.5pc % was 0pt
- \headheight 12pt % height of running head, unchanged
- \headsep 20pt % distance between header and text
- \marginparwidth 48pt % don't use marginal notes
- \marginparsep 10pt % in TUGboat
- \textheight 54pc % height of text on page
- \textwidth 39pc % total width of a page
- %\nofiles
-
- \itemsep=2pt plus 2pt minus 1pt
-
- \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
- \abovedisplayskip=3pt plus 3pt minus 1pt \belowdisplayskip=\abovedisplayskip
- \abovedisplayshortskip=\z@ plus3pt \belowdisplayshortskip=1pt plus3pt minus1pt}
-
- \def\small{\@setsize\small{11pt}\ixpt\@ixpt
- \abovedisplayskip=2.5pt plus2.5pt minus1pt\belowdisplayskip=\abovedisplayskip
- \abovedisplayshortskip=\z@ plus2pt \belowdisplayshortskip=1pt plus2pt minus1pt}
-
- \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
- \abovedisplayskip=3pt plus 3pt minus 1pt \belowdisplayskip=\abovedisplayskip
- \abovedisplayshortskip=\z@ plus3pt \belowdisplayshortskip=1pt plus3pt minus1pt}
-
- \def\@listi{\parsep=1pt plus 1pt minus 1pt
- \itemsep=\parsep}
- \def\@listii{\leftmargin\leftmarginii
- \labelwidth=\leftmarginii \advance\labelwidth-\labelsep
- \topsep=2pt plus 1pt minus 1pt
- \parsep=1pt plus 1pt minus 1pt
- \itemsep=\parsep}
- \def\@listiii{\leftmargin=\leftmarginiii
- \labelwidth=\leftmarginiii \advance\labelwidth-\labelsep
- \topsep=1pt plus 1pt minus 1pt
- \parsep=\z@
- \itemsep=\topsep}
- \partopsep=\z@ \topsep=3pt plus1pt minus1pt
- \parsep=3pt plus 1pt minus 1pt \itemsep=\parsep
-
- % not ordinarily in LaTeX, but usually wanted in TUGboat
-
- \clubpenalty=10000
- \widowpenalty=10000
-
-
- % modify some style elements
-
- % Section titles
-
- \newif\ifSecTitle \SecTitlefalse
-
- \newskip\Tabskss
- \Tabskss=0pt plus 1000pt minus 1000pt
- \newskip\AboveTitleSkip \AboveTitleSkip=12pt % 10pt plus 2pt minus 2pt
- \newskip\BelowTitleSkip \BelowTitleSkip=8pt % plus 1pt minus 1pt
-
- \font \sixteenssb=cmssbx10 scaled \magstep3
- \let\titlefont=\sixteenssb
- \newbox\T@stBox
- \setbox\T@stBox=\hbox{\titlefont O}
- \newdimen\stfontheight \stfontheight=\ht\T@stBox
- \newdimen\strulethickness \strulethickness=.6pt
- \newcount\n@stnum \n@stnum=0
- \def \sthrule{\hrule height\strulethickness depth 0pt }
- \def \stvrule{\vrule height 2\stfontheight depth\stfontheight
- width\strulethickness }
- \def \sectitlebox #1<{\vbox{\sthrule
- \hbox to \hsize{\stvrule\hfil #1\hfil\vrule width\strulethickness }%
- \sthrule }}
-
- \def \secsep{\vskip 5\baselineskip}
-
- \def \sectitle#1{\SecTitletrue \def\s@ctitle{#1}}
-
- \def \@sectitle#1{\par\penalty-1000\secsep
- \n@stnum=0
- {\def\\{ }\setbox\T@stBox=\hbox{\titlefont#1}%
- \ifdim\wd\T@stBox < \hsize \def\result{\unhbox\T@stBox}%
- \else \def\\{\cr\noalign{\global\advance\n@stnum by 1 }}%
- \setbox\T@stBox=\vbox{\titlefont
- \halign{\hfil##\hfil\cr#1\crcr}}%
- \def\result{\vbox{\unvbox\T@stBox}}\fi
- \ifnum\n@stnum=1 \def\stvrule{\vrule height 3.5\stfontheight
- depth\stfontheight width\strulethickness }\fi
- \centerline{\sectitlebox \titlefont\result<}}%
- \nobreak \vskip\baselineskip }
-
- \newskip\AboveTitleSkip \AboveTitleSkip=12pt
- \newskip\BelowTitleSkip \BelowTitleSkip=8pt
- \newdimen\PreTitleDrop \PreTitleDrop=0pt
-
- \def\maketitle{\par
- \ifdim\PreTitleDrop > 0pt
- \loop
- \ifdim \PreTitleDrop > \textheight
- \vbox{}\vfil\eject
- \advance\PreTitleDrop by -\textheight
- \repeat
- \vbox to \PreTitleDrop{}
- \PreTitleDrop=0pt
- \fi
- \begingroup
- \def\thefootnote{\fnsymbol{footnote}}
- \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}}
- \@maketitle
- \@thanks
- \endgroup
- \setcounter{footnote}{0}
- \let\maketitle\relax
- \let\@maketitle\relax
- \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
-
- % modified \@maketitle to prevent 2 occurrences of \@thanks in footnote
- % rw 12 Feb 89
- %\def\@maketitle{\ifSecTitle \SecTitlefalse
- % \else \vskip\AboveTitleSkip \fi
- % {\hyphenpenalty=10000 \interlinepenalty=10000
- % \setbox0=\hbox{\ignorespaces\@author}%
-
- % rule added above title to conform to updated (89) style
- % bb 18 Feb 89
- \newdimen\strulethickness \strulethickness=.6pt
- \def\emptythanks#1{}
- \def\@maketitle{\ifSecTitle \SecTitlefalse
- \@sectitle{\s@ctitle}%
- \else \vskip\AboveTitleSkip
- \kern\topskip
- \hrule height\z@ depth\z@ width 10pt
- \kern-\topskip
- \kern-\strulethickness
- \hrule height\strulethickness depth\z@
- \kern\medskipamount
- \fi
- {\hyphenpenalty=10000 \interlinepenalty=10000
- \setbox0=\hbox{\let\thanks\emptythanks\ignorespaces\@author}%
- {\noindent\bf\ignorespaces\@title\endgraf}%
- \ifdim \wd0 < 5pt % omit if author is null
- \else \nobreak \vskip 4pt % 4pt + \BelowTitleSkip = \baselineskip
- {\leftskip=\parindent \noindent\@author\endgraf}%
- \fi \nobreak \vskip\BelowTitleSkip }}
-
- \def\fnum@figure{{\bf Figure \thefigure}}
-
- \def\quote{\list{}{\rightmargin.5\leftmargin}\item[]}
-
- % From Dominik Wujastyk's font article. First paragraph of a quotation
- % will not be indented, and right margin is decreased for narrow columns.
- \renewcommand{\quotation}{\list{}{\listparindent 1.5em
- \rightmargin.5\leftmargin\parsep 0pt plus 1pt}\item[]}
-
- % make it possible to use the standard issue/date job file
-
- \newcount\issueseqno
- \def \v@lx{\gdef\volx{Volume~\volno~(\volyr), No.~\issno}}
- \def \volyr{}
- \def \volno{}
- \def \vol #1,#2.{\gdef\volno{#1\unskip}%
- \gdef\issno{\ignorespaces#2\unskip}%
- \setbox0=\hbox{\volyr}%
- \ifdim \wd0 > .2em \v@lx \fi }
-
- \def \issdate #1#2 #3.{\gdef\issdt{#1#2 #3}\gdef\volyr{#3}%
- \gdef\bigissdt{#1{\smc\uppercase{#2}} #3}%
- \setbox0=\hbox{\volno}%
- \ifdim \wd0 > .2em \v@lx \fi }
-
- \input tugbot.dates
-
-
- % Fix up the running heads and footers.
- % Only one style supported; suppress LaTeX's separate definitions.
-
- \def \TUB{TUGboat}
- \def \rtitlex{\TUB, \volx }
-
- \def\@oddhead{\hbox{}\rm\rtitlex \hfil \thepage}
- \def\@evenhead{\rm \thepage\hfil \rtitlex}
- \def\@oddfoot{}
- \def\@evenfoot{}
-
- \def\ps@headings{}
-
- \pagestyle{headings}
-
-
- % Miscellaneous defs from plain tugbot.sty.
-
- \font\manual=nwmanfnt % to avoid problems while old manfnt is preloaded
- \def \MF{{\manual META}\-{\manual FONT}}
-
- \def \careof{\leavevmode\hbox{\raise.75ex\hbox{c}\kern-.15em
- /\kern-.125em\smash{\lower.3ex\hbox{o}}} \ignorespaces}
- \def \sfrac#1/#2{\leavevmode\kern.1em
- \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
- /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
-
- % Support ad-hoc strut construction.
- \def \makestrut[#1;#2]{\vrule height#1 depth#2 width\z@ }
-
- \def \d@sh#1{\nobreak\thinspace#1\penalty0\thinspace}
- \def \dash{\d@sh{--}}
- \def \Dash{\d@sh{---}}
-
- % Hack to permit automatic hyphenation after an actual hyphen.
-
- \def\hyph{-\penalty0\hskip0pt\relax }
-
- \def\slash{/\penalty0\hskip0pt} % "breakable" slash
-
- % utility registers
-
- \newcount\TestCount
-
- % various logos and abbreviations
-
- \def \AMSTeX{\leavevmode\hbox{$\cal A\kern-.2em\lower.376ex
- \hbox{$\cal M$}\kern-.2em\cal S$-\TeX}}
- \def \LaTeX{\TestCount=\the\fam \leavevmode L\raise.42ex
- \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
- \def \BibTeX{{\rm B\kern-.05em{\sc i\kern-.025emb}\kern-.08em\TeX}}
- \font\manual=nwmanfnt % to avoid problems while old manfnt is preloaded
- \def \MF{{\manual META}\-{\manual FONT}}
- \def \slMF{{\manual 89:;}\-{\manual <=>:}} % slant the logo
- \def \MFB{{\sl The \slMF book}}
- \def \mf{{\sc Metafont}}
- \def \Pas{Pascal}
- \def \PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
- \def \PiCTeX{\PiC\kern-.11em\TeX}
- \def \PS{Post\-Script}
- \def \SliTeX{{\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em\TeX}}
- \def \TB{{\sl The \TeX book}}
- \def \UNIX{{\sc unix}}
- \def \TeXXeT{\TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT}
- \def \TUB{TUGboat}
- \def \VAX{\leavevmode\hbox{V\kern-.12em A\kern-.1em X}}
- \def \WEB{{\tt WEB}}
-
- % Redefine style of section headings to look more like TUGboat.
- % Start with definitions from art10.sty . (Only \section correct so far.)
- %
- % \vskip 8pt \vskip\parskip before; \vskip 4pt after
- % Negative beforeskip suppresses following parindent.
-
- \def\section{\@startsection {section}{1}{\z@}{-8pt}{4pt}{\normalsize\bf}}
- \def\subsection{\@startsection{subsection}{2}{\z@}{-8pt}{4pt}{\normalsize\bf}}
- \def\subsubsection
- {\@startsection{subsubsection}{3}{\z@}{-8pt}{4pt}{\normalsize\bf}}
- \def\paragraph{\@startsection
- {paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}}
- \def\subparagraph{\@startsection
- {subparagraph}{4}{\parindent}{3.25ex plus 1ex minus
- .2ex}{-1em}{\normalsize\bf}}
- % Modify \appendix from art10.sty, to add ``Appendix''
- \def\appendix{\par
- \setcounter{section}{0}
- \setcounter{subsection}{0}
- \def\thesection{Appendix \Alph{section}}}
-
- \font\tenupit=cmu10
-
- \def \EdNote{{\tenupit Editor's note:\enspace }}
-
- \endinput
-